package com.quant.entity;

import lombok.Data;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * @author lulj
 */
@Data
public class BacktestResult {
    private String strategyName;  // 策略名称
    private LocalDate startDate;  // 回测开始日期
    private LocalDate endDate;    // 回测结束日期
    private double initialCapital;  // 初始资金
    private double finalCapital;    // 最终资金
    private double totalReturn;     // 总收益率
    private double annualReturn;    // 年化收益率
    private double sharpeRatio;     // 夏普比率
    private double maxDrawdown;     // 最大回撤
    private int tradeCount;         // 交易次数
    private double winRate;         // 胜率
    private Map<LocalDate, Double> netValueCurve;  // 净值曲线
	private String netValueCurveJson;  // 对应数据库net_value_curve
    private List<TradeRecord> tradeRecords;        // 交易记录
	private String resultJson; // 新增：接收数据库的result_json字段


	private double finalNetValue;    // 策略最终净值（如1.5表示总收益50%）
	private double initialNetValue;     // 策略初始净值


}
